Adaptive display system and method for a gaming machine

ABSTRACT

The present invention provides a system and method for a configurable gaming system. Certain embodiments of the system include a local storage for storing a markup language file and token resolution information and a markup language viewer for processing the markup language file. The markup language viewer processes contents of the markup language file and resolves tokens in the markup language file using the token resolution information from the local storage to generate a resolved markup language file for display at a gaming system. The markup language file may include display content, markup language tags, and tokens. The markup language file may include read-only information and variable information to be resolved by the markup viewer for display. The markup language file may be a binary markup language file including tokens or other indicia for resolution.

RELATED APPLICATIONS

The present application relates to, and claims priority as acontinuation from, U.S. patent application Ser. No. 13/275,052, filed onOct. 17, 2011, which is a continuation of U.S. patent application Ser.No. 12/123,945, now U.S. Pat. No. 8,042,043, filed on May 20, 2008,which is a continuation of U.S. patent application Ser. No. 10/938,351,now U.S. Pat. No. 7,392,470, filed on Sep. 10, 2004, entitled “AdaptiveDisplay System and Method for a Gaming Machine,” which claims priorityfrom U.S. Provisional Application No. 60/502,428, filed on Sep. 12,2003, and is entitled “Communications Interface for a Gaming Machine.”Each of these applications is incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention generally relates to a gaming system. Inparticular, the present invention relates to an adaptive display for agaming system.

Gaming machines, such as slot machines, fruit machines, or pokermachines, have in recent years become one of the more popular, exciting,and sophisticated wagering activities available at casinos and othergambling locations. At the same time, gaming machines have also become asource of greater revenue for gaming establishments. Thus, competitionbetween manufacturers of gaming machines has intensified as competitorsvie for business from gaming establishments.

A gaming machine providing entertaining and enticing features forplayers would be highly desirable to attract both new and returningplayers to a gaming establishment. Additionally, a gaming machine thatallows customization and dynamic modification by an operator would behighly desirable to provide new features to customers.

Current gaming machines are difficult to reconfigure and offer the samegame to multiple users at multiple gaming establishments. Changing agaming machine to a different game or format involves time-consuming anddifficult procedures by an operator.

Additionally, configuration of a gaming machine by an operator raisesconcerns regarding security of data and integrity of a game on thegaming machine. That is, gaming establishments and legal authoritiesplace high priority on the integrity of a game, such as a slot or pokergame. Thus, there is a need for a configurable system that does notdisturb sensitive game or prize data.

A markup language, particularly Hypertext Markup Language or HTML, isused to provide display content in the form of web pages for webbrowsers on personal computers. Browsers allow web pages to be retrievedfrom a remote web server and viewed on a local computer. In currentsystems, apart from temporary storage for display, the information fromthe web page does not remain at the browser. A request is sent from thebrowser to the web server. A page is returned by the server. Informationmay be provided through fields in the page and transmitted back to theweb server. The web server renders the web page and sends the page tothe web browser for display. If the displayed page is to be changed, anapplication must be run to change the page, and the browser mustretrieve an entire new page from the server. A more flexible andefficient markup language document system would be highly desirable.

Thus, there is a need for an adaptive display system and method for agaming machine that allows one or more gaming machines dynamically alteroperation and display.

BRIEF SUMMARY OF THE INVENTION

The present invention provides a system and method for a configurablegaming system. Certain embodiments of the system include a local storagefor storing a markup language file and token resolution information anda markup language viewer for processing the markup language file. Themarkup language viewer processes contents of the markup language fileand resolves tokens in the markup language file using the tokenresolution information from the local storage to generate a resolvedmarkup language file for display at a gaming system.

The markup language file may include display content, markup languagetags, and tokens. The markup language file may include read-onlyinformation and variable information to be resolved by the markup viewerfor display. In an embodiment, the markup language file is updated froman external storage. The markup language file may be a binary markuplanguage file including tokens or other indicia for resolution. In anembodiment, the markup language file associates items for display withidentifiers, where the identifiers correspond to instructions for themarkup language viewer. In an embodiment, the system further includes anexternal event controlling selection of a markup language file forprocessing by the markup language viewer.

Certain embodiments of a method for dynamic configuration of a gamingdisplay include processing a markup language file to identify tokens tobe resolved, resolving the tokens to generate a resolved markup languagefile, formatting the resolved markup language file for display, anddisplaying the resolved markup language file at a gaming system. Themethod may also include retrieving the markup language file from a localstorage. Additionally, the method may include adjusting token values inthe resolved markup language file based on a change in at least one ofgame, prize, location, player, and operator.

In an embodiment, the resolving step includes resolving tokens in themarkup language file using data from the local storage. The resolvingstep may include resolving tokens in the markup language file based onat least one of a player, an operator, a game, and a location. In anembodiment, the displaying step may include displaying the resolvedmarkup language file at the gaming system using a viewer. An externalprocess may affect selection of the markup language file for processingand display.

Certain embodiments of a dynamically configurable gaming system includea gaming machine retrieving a markup language document, and a localstorage device providing a copy of the markup language document to thegaming machine. The gaming machine resolves tokens in the markuplanguage document and formats the markup language document for display.The local storage device provides the gaming machine with information toresolve tokens in the markup language document for display.

The system may also include a server providing information relating tothe markup language to the gaming machine. The gaming machine mayfurther include a markup language viewer for resolving the tokens in themarkup language document and formatting the markup language document fordisplay. The system may also include an external control controllingselection of a markup language file for processing by the gamingmachine.

In an embodiment, the markup language document is adjusted based on achange in at least one of game, prize, location, player, and operator.The markup language document may include display content and indicia,for example. The markup language document may include a binary markuplanguage document.

Certain embodiments of a system for connecting to a plurality ofelectronic gaming devices for acquiring, storing and displaying data ina regulated environment include an electronic display associated witheach device and a host computer in communication with the processors toreceive operation data from the devices. The device includes a processorto control the display. Each processor includes a first program ofinstructions in a markup language stored in a data structure. Thecontent of the first program includes regulatory approved read only codemodule configured to (1) control the display to display a predetermineddisplay template defining at least one volatile data field and (2) issuedata commands for data tokens. The host is configured to (1) based uponthe data received from the devices derive the data tokens and (2) inresponse to receipt of a command from the processor, communicate thederived token to the processor to control the display to display thetoken data in the data field.

In an embodiment, the markup language includes a binary markup language.The markup language may associate the instructions with areas of thedisplay template. The display may include a user interface allowing auser to select one or more areas of the display template to executeinstructions in the markup language code. In an embodiment, the hostcomputer derives the data tokens using information from a data storagedevice.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 illustrates a casino network system with an improvedcommunications interface used in accordance with an embodiment of thepresent invention.

FIG. 2 illustrates an embodiment of a casino network system with animproved communications interface used in accordance with an embodimentof the present invention.

FIG. 3 depicts a gaming machine used in accordance with an embodiment ofthe present invention.

FIG. 4 shows a sample ML file used in accordance with an embodiment ofthe present invention.

FIG. 5 shows a flow diagram depicting a traditional method of hardcodedHTML display.

FIG. 6 shows a flow diagram depicting a method for token resolution usedin accordance with an embodiment of the present invention.

FIG. 7 illustrates an example of token resolution and display in amarkup language document in accordance with an embodiment of the presentinvention.

FIG. 8 illustrates a gaming system used in accordance with an embodimentof the present invention.

FIG. 9 illustrates a flow diagram for a method for configuring a displayin a gaming machine used in accordance with an embodiment of the presentinvention.

The foregoing summary, as well as the following detailed description ofcertain embodiments of the present invention, will be better understoodwhen read in conjunction with the appended drawings. For the purpose ofillustrating the invention, certain embodiments are shown in thedrawings. It should be understood, however, that the present inventionis not limited to the arrangements and instrumentality shown in theattached drawings.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, a casino network system 11 includes a plurality ofgaming machines 13, 15, and 17 interconnected across a network 19 to aserver 21.

Gaming machines 13, 15, 17 may utilize applications or web services ofserver 21 to provide visual displays. Gaming machines 13, 15, 17 maycommunicate with server 21 via network 19 using standard protocols.

Each gaming machine 13, 15, 17 includes a smart communications interface(SCI) 101, 103, 105, respectively, which communicates with a respectivegaming controller 107, 109, 111 using a particular protocol, forexample, a Slot Accounting System (SAS) protocol. SCIs 101, 103, 105communicate directly onto network 19.

Server 21 may be designed to run on a network platform and to servicerequests from gaming machines 13, 15, 17. Server 21 may be accessed fromnetwork 19, through standard networking protocols, such as transmissioncontrol protocol/internet protocol (TCP/IP), user datagram protocol(UDP), telnet, file transfer protocol (FTP), hypertext transportprotocol (HTTP), internet control message protocol (ICMP), internetgroup management protocol (IGMP), etc. Documents, such as hypertextmarkup language (HTML), extensible markup language (XML), rich textformat (RTF), etc., may be transmitted to and/or from server 21.

Server 21 has a multi-tiered architecture that includes a number ofsoftware layers including one or more applications, an applicationprogram interface (API) and an operating system. The applicationsprovide a number of different services, including accounting services,player tracking services, progressive game services, browsing services,cashless play services, etc. The applications may be written in variouslanguages including, for example, C#, Java, or SQL. The operating systemfor example, is a Windows® brand operating system which providesconventional functions.

Server 21 may push out, i.e., publish, information to varioussubscribers including gaming machines 13, 15, 17. For example, gamingmachine 13 may subscribe to a “bonus time” alert. Server 21 notifiesgaming machines that have subscribed that a bonus period has started andthat jackpots are to be paid out at twice the pay table, for example.This bonusing service for particular gaming machines may be subscribedto, for example, using casino workstation 31 (not shown). Workstation 31may communicate a request to server 21 to publish to specificallyidentified gaming machines that a bonus period is to begin. The requestmay also provide additional information as to the amount of the bonus,the type of bonus, a bonus multiplier, etc. The request may also askserver 21 to publish the end of the bonus period as well. The server 21may provide such a bonus service in real time with the bonus event, ormerely provide a scheduled command for future bonus events.

In another example, applications server 21 may publish to certain gamingmachines that a tournament has ended. Using the method taught in U.S.Pat. No. 6,039,648, assigned to Casino Data Systems and incorporatedherein by reference, server 21 may communicate the end of a tournamentplay, so that appropriate pay tables and displays at the gaming machinesmay be activated.

Server 21 may include a plurality of functions that may be called byother systems or devices connected to network 19. Such functions mayinclude conventional method or function calls as well as remote calls,e.g., proxy and simple object access protocol (SOAP)/XML invocations.For example, server 21 may be called by gaming machines 13, 15, 17.

Server 21 provides data to or retrieves data from a database 45. Forexample, data is stored as to gaming activity, player accountinformation, advertisements, ticketing, etc. For example, meter data isreceived by server 21. Server 21 stores, the meter data in a database.Also, data is retrieved including player information, accounting data,application programs, etc.

For purposes of simplicity, only three gaming machines 13, 15, 17 areshown in FIG. 1. In actuality, a casino may contain hundreds, or eventhousands, of gaming machines. In addition to gaming machines, a casinomay include various non-gaming machine locations, such as craps andblackjack. Such locations include an SCI, similar to SCI 101, 103, or105, which is connected to network 19. In an embodiment, gaming andnon-gaming machine locations may be spread throughout several casinoslocated remotely from one another.

Server 21 provides services for each gaming machine. Server 21 mayprovide different services for different gaming machines. For example,gaming machines may be included in a progressive game and thus use aprogressive service from server 21. Typically, all gaming machines usean accounting service from server 21 which accounts for coins and billsinserted into the gaming machine as well as an accounting of coinscashed out of the gaming machine to a player.

Other services, such as player tracking and cashless play services, maybe provided by server 21. A typical player account may be stored in adatabase for tracking of the player. The player accounts are updated byserver 21 as player information is sent to server 21 from gamingmachines 13, 15, 17, workstation 31 or an external system 33. Forexample, a restaurant acting as an external system 33 may request server21 to add loyalty points to the player's account in the database basedon the amount of money spent by the player at the restaurant. As anotherexample, a player at gaming machine 13 may request server 21 to convert1000 points of the points balance in the player's account to credits onthe credit meter of gaming machine 13. As another example, server 21 mayprovide game programs or other parameters to a particular gamingmachine.

More specifically, gaming machine 13 sends a service request to server21. SCI 101 packages the request in a proper protocol and places therequest onto network 19. Various switches and/or routers may be includedin network 19 in order to route the service request to server 21. Therequest may include (1) data, (2) a message request, and (3) the networkaddress of server 21. The message request seeks a particular service tobe performed by execution of an application by server 21. Theapplication is run in connection with the data, if any, in the request.The application may then generate a message back onto network 19addressed to machine 13. SCI 101 receives the message and respondsaccordingly, as for example, adjusting the credit meter, generating adisplay of information to the player, etc.

Alternatively, SCI 101, 103, or 105 may be connected to a hub forwireless communication of the service request to the network 19. Theservice request is received by the hub, repackaged and then broadcast toa receiving device that is connected to the network. The receivingdevice packages the service request and places the service request ontothe network.

Referring to FIG. 2, another embodiment of a gaming system 11 includes aplurality of gaming machines 13, 15 and 17 interconnected over a network19 to a central authority 21. Where a large number of gaming machinesare connected to central authority 21, network 19 may includesubnetworks using RS485 serial communications standard, for example, anddata collection units (not shown). Network 19 also may be configured asan Ethernet network employing TCP/IP protocol, or may comprise a digitalsubscriber line (DSL) network, a fiber optic network, an RF network,etc.

Data is transmitted over network 19 between the gaming machines andcentral authority 21 which may be formed of one or more computers. Eachgaming machine includes a smart communications interface (SCI) 101 forcontrol of communications over network 19. Interface 101 is amicroprocessor-based device. Central authority 21 stores game outputdata (received from the gaming machines) and may store game input data(to be sent to the gaming machines) in a central database 25.

More than the three gaming machines 13, 15 and 17 may be connected tonetwork 19 of FIG. 2. For example, gaming machines 15 and 17 are slotelectronic gaming machines and gaming machine 13 is a video pokerelectronic gaming machine. Other types of gaming equipment and gamingmachines may be connected to network 19 of FIG. 2, including tablegames.

Gaming machine 17 is shown in more detail in FIG. 2 and includes ahousing 51 that supports a number of components including a main display53 which is positioned on the outer front face of the machine for directpresentation of a display to the player. An input area 35 receives awager from the player in the form of currency bills or bar-codedvouchers. A card receiving slot 37 is positioned to receive a playercard for use to identify the particular player at the gaming machine, asdescribed hereinafter. A secondary display 39 also may be included, forthe display of supplemental non-game information to the player,typically, in the form of instructions, points balances, or otherinformation. As understood, all or part of supplemental display 39 maytake the form of a display window located on primary display 53 or asecondary window on display 53. A keypad 41 is provided to allow theplayer to input data to the SCI of the gaming machine, particularly inresponse to instructions or questions on supplemental display 39. Inaddition, a plurality of decision making buttons 43 (and optionally ahandle, not shown) are used by the player to play the game of machine17. A payout tray 45 provides an area for redemption of awards based onplay of the game, and a printer (not shown) may be used to print ticketsor other redemption documents.

Display 53 displays the primary game features for play of a game. Forexample, the display may generate a conventional slot game in which aplurality of symbols are moved within their respective column, as ifrotated, at the appropriate time in response to the user activation ofthe gaming machine.

Referring now to FIG. 3, gaming machine 17 includes a game control CPU61 which is responsible for carrying out the main functions of thegaming machine. CPU 61 executes each game as the player interacts withthe gaming machine, including visually and/or audibly interacting withthe player, as well as generating game outcomes. In addition, CPU 61processes network information by receiving from, and sending data to,smart communications interface (SCI) 101. CPU 61 includes amicroprocessor and associated memory (not shown particularly). Dependingupon the type of gaming machine, CPU 61 may directly carry out some orall of the functions that SCI 101 may carry out.

Gaming machine 17 includes a number of peripheral devices including, forexample, a card reader 63 and key pad 41. Card reader 63 and key pad 41are used to identify the player at the gaming machine 17. The casinoissues a player a player card 67 (FIG. 2) through an applicationprocess. Player card 67 typically includes a magnetic stripe 68 that isencoded with data to identify the player. In some cases, a personalidentification number (PIN) is given to the player for security, and mayallow access to certain features of the gaming machine. Card 67 isreadable by a card reader 63 found in each of the gaming machines 13,15, 17. Other types of cards may be utilized including optical cards,smart cards, etc.

In addition, a unique number is encoded onto a magnetic stripe 68carried by the card. This unique number corresponds to a player accountfile which is maintained by central authority 21 in database 25. Theaccount file may include information such as the player's name, address,amount of credit available, amount of promotional credits, amount ofloyalty points, etc.

The player inserts his or her player card 67 into card receiving slot 37(FIG. 2) for reading by card reader 63 (FIG. 3). SCI 101 detects thecard insertion and receives the identification information contained oncard 67. For example, the player's name, address and player trackingaccount number may be encoded on the magnetic stripe. The informationcontained on card 67 may be a reference number to retrieve player datafrom database 25.

SCI 101 provides display signals to display 39 in order to, for example,display the player's name, or other message. Select messages may bedisplayed, for example, requesting the player to optionally enter his orher personal identification number (PIN) using keypad 41. Where the PINis optionally entered by the player, SCI 101 communicates with thecentral authority in order that the PIN, for example, may be used tovalidate the player's identity. In other cases, the PIN may be used toaccess some features of the gaming machine 17 or system 11. Either thecentral authority or the SCI performs validation.

SCI 101 gains access to the player's account at the central authority.The player's account typically includes the number of player points(loyalty points) previously accumulated by the player, as well asadditional statistics. In order for the gaming activity at a particularmachine to be credited to the player's player account, the player orplayer account is identified at the gaming machine. Identification istypically accomplished by the player inserting his or her player card.

A PIN alone without a player card may be used to provide player identityto the gaming machine; and a card alone without a PIN may be used toprovide player identity to the gaming machine. Alternatively, any ofseveral biometric devices may be used to identify the player, includingdevices to check fingerprints, scan facial appearance, provide eyescans, etc. Such biometric input data may be used alone or incombination with player cards or PINs.

During game play, CPU 61 tracks gaming activity and provides gamingactivity information to SCI 101. Such information may include an amountof money a player has wagered on each game, a number of games played, atime each game was initiated and a particular identification of a gamingmachine, etc. For example, a system may track money wagered, money wonand the time period tracked. Tracked information may be obtained by theSCI polling the CPU. The game activity information is sent to thecentral authority by the SCI. The central authority utilizes the gameactivity information to perform accounting functions and additionallygenerates player points which are added to the points in the player'saccount. Awards are provided by the casino in accordance with pointsaccumulated by the player.

Any pre-stored data in the player's account may be downloaded to SCI 101which in turn provides corresponding signal data to CPU 61. Where gamingmachine 17 allows for player selection of the particular game played,players may pre-store their game preference in central database 25 (FIG.2). Preference data may be downloaded to gaming machine 17 after playeridentification at the gaming machine.

The communication between SCI 101, central authority 21 and CPU 61 maytake on different forms and protocols, as for example, serial, parallel,ethernet, etc. In one embodiment, the SCI may be connected to the CPU 61through a serial connection and communicates in accordance with aparticular communication protocol or protocols depending upon themanufacturer of the particular gaming machine.

After a particular player has been identified as a valid player, othermessages are presented on display 39. For example, the balance amount ofpoints or credit remaining in the player's account may appear on thedisplay. The player may use key pad 41 to download credits to the gamingmachine, as described in U.S. Pat. No. 6,511,377 incorporated herein byreference.

Card reader 63 is housed in gaming machine 17, and positioned relativeto card slot 37 to receive player card 67. Card 67 is inserted intoreader 63 and information read from card stripe 68 is transferred to SCI101 and stored in a memory 83 located in SCI 101.

A bill validator 65 is housed in gaming machine 17 and positionedrelative to wager area 35 to receive currency bills inserted intovalidator 65 by a player. Bill validator 65, which may receive severalbill denominations, detects the denomination of an inserted bill andgenerates a signal 69 to CPU 61. Bill validator 65 may also receiveencoded vouchers or tickets and responsively generate a proper signal 69relating to ticket insertion.

CPU 61, for example, responds to signal 69 by increasing the value on agame credit meter 71. Depending on the type of gaming machine, a valueof credit meter 71 may be displayed on display 33. Credit meter 71provides a visual indication to a player of a number of game creditsavailable for play. In an embodiment, signal 69 may be sent to SCI 101,which in turn communicates with CPU 61 so as to change credit meter 71.Communication with the CPU through the SCI to change the credit metermay occur when a bill validator is retrofitted into a gaming machinethat was originally manufactured without a bill validator. CPU 61increases the credit meter after a ticket signal is received and valueis determined.

A coin validator 73 is housed in gaming machine 11, and positionedrelative to a coin slot 36 (FIG. 2) to receive coins which are insertedby a player into coin validator 73. Coin validator 73 generates a coinsignal 75 to CPU 61. CPU 61, for example, responds by increasing thevalue of credit meter 71.

In accordance with a configuration of gaming machine 17, the gamingmachine begins a game (for example, the reels spin) automatically afterthe credits appear on the credit meter or the game is started after theplayer presses a button 43 or pulls a handle (not shown).

Then, the game ends and a particular result appears. The gaming machinepays out certain amount(s) depending upon the result in a conventionalmanner. The pay out may include applying an amount directly to thecredit meter 71, or paying the amount in coins or tokens directly fromthe slot machine to the player at tray 45, or where the amount is abovea threshold level, a hand pay is made of the amount to the player. Theplayer may cash-out credits by activating a cash-out button 43 or uploadcredits to the player's account in database 25. A ticket printer (notshown) may be used to dispense bar coded vouchers on cash-out, as well.

If a player desires to discontinue play or move to a different machine,the player removes the player card. Thereafter, the player card may beinserted into the same or a different gaming machine for continuingplay.

The player's account may be formed of multiple accounts, for example, aCASH account, a POINTS account, a PROMO account, etc. Credit may beplaced in the player's PROMO account by the casino as a complimentaryincentive. This may happen when a player first arrives at the casino athotel check-in or other event. Alternatively, credit may be applied tothe player's CASH account in accordance with the player making a depositof money, either coins or tokens directly into the slot machine or at acashier. Such credits (or value) may be downloaded to the gaming machineand placed on credit meter 71.

The player's gaming activity is tracked by system 11 once the playeraccount is established, the player has been issued a player trackingcard bearing a unique identification number and the account is in a filein database 25, for example. The player's transactions at the gamingmachine are logged by SCI 101 and reported to central authority 21.

In some situations, multiple player cards may be issued for a singleaccount; each card identifies the same account. Each card may carry thesame identification number. For example, a husband and wife may share asingle account. The first card inserted allows the player to retrieveany or all of the credit available in the player's account. The secondcard inserted allows the second player to retrieve any remaining creditthat remains in the account. Where both cards are simultaneously used onseparate gaming machines, all player transaction activity is collectedand forwarded to the player's account.

Numerous types of reports may be generated based upon the transactionactivity logged in the player's account. For example, the amount ofmoney played by the customer, the amount of credit used from theplayer's account, the amount of complimentary incentive credit utilizedby the player, the amount of points converted to play credits at thegame, the machine upon which the transaction occurred, the time of theplay, or other event, etc.

Information Accounting by CPU 61

Referring again to FIG. 3, CPU 61 keeps a plurality of accounting meters81 that log transaction and machine data. Meters may be formed ofelectronic memory managed by CPU 61 and/or hard meters. CPU 61 respondsto various gaming machine events and updates meters 81 accordingly.Meters 81 may be non-reset, accumulative meters; however, some meters 81may be reset meters and statistics are available since the last reset ofthe meters. Basic events in which CPU 61 adjusts meters 81 may include:

(1) money input by the player;

(2) wagers placed by the player;

(3) game wins from play of the game; and

(4) cash out of credits by the player.

Only the particular meter(s) 81 to which an event pertains are adjustedupon the occurrence of the event. Data identifying the occurrence ofevents may be recorded also, including the time of the event and theparticular type of event.

For example, meters 81 may include various drop meters to track moneyflow. A drop meter may be provided for each of the different forms ofmonetary value accepted by the gaming machine. For example, a coin dropmeter may represent the total value of coins that fall to a “dropbucket” within the gaming machine housing for later collection by thecasino. Also, coins may instead be diverted to a hopper system for laterpayout to the player and such diverted coins may be metered separately.Also, a bill count drop meter may count all paper currency that has beeninserted into the bill acceptor. As another example, promo count meterscount promotional credits that are received by the gaming machine frombar coded coupons, downloaded credits, bonus point conversions, and thelike. Outflow of cash to the player may also be tracked by meters,including printed vouchers that have been issued by the machine.

Meters 81 may also keep track of game activity and include a game playmeter for tracking the total number of bets actually wagered and a gamewin meter for tracking the total number of wins. Purchased credits whichare not wagered, but cashed out, may be tracked as well. Credit meter 71is a visual meter which reflects the total amount of credit available tothe player at any time, and may be driven from another meter 81.

SCI 101 Retrieves Data from CPU 61

CPU 61 communicates data to SCI 101 including events and readings of theaccounting meters 81. For example, SCI 101 may poll CPU 61 for data, andthen record such data in a memory 83. The data may be further processedby SCI 101, and then the processed data is stored in memory 83.Particular data stored in memory 83 includes accounting data 85 as wellas player data 87 which is used to award player points.

SCI 101 performs game accounting functions by updating accounting data85 and player data 87. SCI 101 transmits data 85, 87 to centralauthority 21. In addition, accounting data 85 and player data 87 may beinitialized by central authority 21.

Type of Information Reported

Tracking of data at the gaming machines occurs for carded and non-cardedplayers. A non-carded player is a player who does not insert a playercard during play. SCI 101 may retrieve data from CPU 61 including datastored by CPU 61 in meters 81. SCI 101 may also keep data that SCI 101has obtained from sources other than CPU 61, such as data obtained fromcard reader 63. SCI 101 may process the data and convert the data to aparticular form prior to transmittal to central authority 21. Forexample, data regarding a number of coins played during a certain periodof time may be calculated by SCI 101 based on coin-in meter data at astart of the period and coin-in meter data at an end of the period.

SCI 101 reports certain data to central authority 21 which is placed indatabase 25. However, SCI 101 reports particular data, i.e., player data87, which is related to the game activity of the player. Centralauthority 21 uses player data 87 to calculate player points and storeplayer points in a particular player account held in database 25. Forexample, central authority 21 may calculate a number of loyalty pointsbased on coin-in data of the player, and thereafter store points data ina player account. Alternatively, SCI 101 may perform points calculationand transmit the points data for storage in the player account indatabase 25.

When Information is Reported

SCI 101 may report a variety of accounting data to central authority 21at various times. SCI 101 reports player data 87 which SCI 101 hasaccumulated in connection with the occurrence of a gaming session. Thedata may be reported when a player removes his or her player card fromcard reader 63. Where a player has the ability to convert points storedin his or her account to credits at the gaming machine, the timing ofpoints credited to the player account may become important. It may bedesirable also to forward player data 87 at predetermined times, forexample, every hour, where the player's gaming session occurs over alengthy period of time.

Employee Cards

Employees of a gaming establishment, such as a casino, have employeecards that are insertable into a gaming machine. The employee card mayinclude a magnetic stripe that is read upon insertion to alert SCI 101that an employee is present at the gaming machine. Thereafter,particular functions of the gaming machine (or SCI 101) are madeavailable to the employee.

When an employee card is inserted into reader 63, SCI 101 recognizes thecard as an employee card. However, if an employee card is inserted, thennormal employee menus are displayed on display 39. If a card may not beread then a message such as “BAD CARD READ” is displayed on display 39.

Identification of a player may be performed by a magnetic card reader,an optical card reader, a card swipe reader, a card insertion reader, asmart card reader, or other device which alerts SCI 101 by providing SCI101 with player identification information of the player who is about toactivate play on the gaming machine. Devices other than card readers maybe used to provide identification information, such as a biometricsensor, a fingerprint sensor, a palm sensor, a hand sensor, an eyesensor, an iris sensor, a visual recognition system, an audio or voicerecognition system. The device provides player identity information toSCI 101 at the time that the player is about to commence play. Playeridentity information may be transferred by radio waves or infra-redradiation, for example, from a portable or handheld device. Card removalmay be determined in a number of ways, including sensors such as audio,visual, thermal, motion, infra-red, magnetic, light detectors, etc.

Smart Communications Interface

In an embodiment, SCI 101 (e.g., Sentinel II® or Sentinel MS) includes auser interface, such as a TFT (Thin Film Transistor) Active Matrix LCDinterface (with optional touch screen), to provide static pictures anddynamic video clips with vivid color. The LCD display with touch screenmay be used to enter information, such as player identificationinformation or game play options. SCI 101 may also include an additionalLCD character/VFD (Vacuum Fluorescent Display) graphic displayinterface. In addition, a Video Input Port (VIP) may be incorporated inSCI 101 to provide real-time videos or provide streaming videos. The SCI101 may also include an audio system, such as an AC'97 Audio system orpersonal computer sound system. In addition, Voice over InternetProtocol (VoIP) technology may be used by SCI 101 to manage the deliveryof voice information using Internet Protocol.

In an embodiment, SCI 101 includes a compact flash connector. Theconnector receives a conventional CompactFlash card. Use of compactflash or other volatile memory permits great convenience, reliability,availability and low cost. Markup language documents and other data maybe stored in the CompactFlash or other memory card located in theconnector.

SCI 101 provides a plurality of interfaces for communication from and/orto peripheral devices or gaming machine components. For example, SCI 101may include a keyboard and/or mouse interface, a keypad interface, aprogressive interface, a fiber-optical interface, a lockout interface, amagnetic/optical card reader interface, a Slot Data System (SDS)/IGTpulse interface, a slot accounting software (SAS)/GDAP interface,peripheral component interconnect (PCI) bus connection serial port,parallel port, infrared port, universal serial bus (USB) connection, anopto-isolated input, an opto-isolated output, and/or other interface.

Formatting a Gaming Machine Display Using a Markup Language (Rendering)

In an embodiment, a gaming machine, gaming workstation, or other gamingsystem uses a markup language (ML) for display and interaction purposesin a gaming or ancillary gaming application. A markup language viewer isused to facilitate display, execution, and/or parsing of data from a MLdocument. In current systems of the art, dedicated software routinesspecify the fixed locations of content, such as images, and references,such as links, by hard coding them in code or in tables of constantswithin the code. Conversely, a markup language document, as shown inFIG. 4, is an external, changeable document that is analyzed and parsedor rendered dynamically. Changes may be implemented without changingprogram code. When operation of a gaming machine transitions within anarea of operation or from one area of operation to another, a markuplanguage file may be loaded, parsed, and the information therein used tospecify the content of a display. FIG. 4 shows a sample ML file used inaccordance with an embodiment of the present invention.

In addition, replaceable “tokens” or other indicia may be used in amarkup language in a gaming or ancillary gaming application. FIG. 4illustrates a sample ML file including tokens to be resolved accordingto an embodiment of the present invention. Tokens in FIG. 4 areindicated by square bracket (e.g., “['s”) to allow the ML viewer toresolve the tokens using a database or local storage.

In one embodiment, servers may utilize a server-side content generationprogram to provide unique and interactive content in response to clientside queries. In another embodiment, rather than relying on a server toprovide content specific to interaction, “client” side content is used.A client “page” contains certain “text” that is detected and replaced byother text or value when the page is rendered. In an embodiment,replacement text is of a dynamic nature and is retrieved from a localstorage by a token look up method.

When a markup language document is rendered to a display, certain textmarkers, indicia, or “tokens” in the ML document are identified,isolated, extracted, and replaced in the rendered product. Once isolatedand extracted, a token is “resolved” by a token look-up method thatreferences actual data in a database or local storage based on the tokenin the ML document. Resolution of a token allows an unchanging MLdocument to be rendered with particular instance information.

A flow diagram 500 shown in FIG. 5 depicts a traditional method ofhard-coded HTML display. First, at step 510, a client process 505, suchas a web browser or viewer, accesses a web site generated by a serverpage generator 515 at a web server. Information entered at the clientreceives information from the server and sends information back to theserver but does not store information at the browser. Then, at step 520,specific information is requested from a server database 525 by theserver page generator 515 at the web server. Next, at step 530, thedatabase 525 returns information specific to the client or session. Thepage generator 515 generates a web page from the specific information.

Then, at step 540, a web page or other fixed file is transmitted fromthe web server to the client web browser 505. The web browser or otherclient process 505 renders the web page for display. At step 550, theweb page from the server is displayed at a client display 535. The webpage is completely rendered when it is sent.

FIG. 6 shows a flow diagram 600 depicting a method for token resolutionused in accordance with an embodiment of the present invention. First,at step 610, the ML viewer 605 requests a file, such as a ML page, fromlocal storage 615. Unless otherwise specified, for example, a defaultpage is requested. For example, a viewer process running on anelectronic gaming machine may request an initial page for a video pokergame at startup. Then, at step 620, the file is returned to the viewer605. The ML file includes tokens or other indicia, such as indicatorssurrounded by tildes, brackets, or other indicia.

Next, at step 630, the viewer 605 requests a token lookup. That is, theviewer 605 parses the ML file and identifies one or more tokens or otherindicia in the file. The viewer 605 identifies tokens, for example, tobe resolved in the ML file. For example, the viewer process identifies acoin denomination token in the ML file. At step 640, the token islocated in the local storage 615 using the lookup method 625. Then, atstep 650, a value for the token is returned to the lookup method 625.That is, a value assigned to the token or other indicia is retrievedfrom a table or database, for example, for use in resolving the ML file.For example, a value of one dollar corresponding to the denominationvalue is returned from a local database to the viewer process. Thelookup method 625 resolves tokens or other indicia in the ML file. Tokenresolution may be repeated for multiple tokens in a file.

At step 660, the resolved token(s) are returned to the viewer process605. For example, the file with resolved or completed tokens is sent tothe viewer 605 for display. The viewer 605 renders the ML file fordisplay. Then, at step 670, the file is displayed. For example, therendered file with resolved tokens is displayed at a gaming system, suchas a gaming machine or workstation.

FIG. 7 illustrates an example of token resolution and display in an MLfile in accordance with an embodiment of the present invention. An MLdocument 710 includes information, such as tags, text, and/or tokens, toformat a display in a gaming environment. An ML viewer parses document710 and references table 720 to resolve tokens in document 710. Forexample, the ML viewer locates the [Version], [SenID], [DoorStatus],[DPUNumber], and [Checksum] tokens in document 710. The ML viewerresolves the tokens using a lookup method and local storage or database.Page 730 is then displayed including the resolved tokens.

FIG. 8 illustrates a gaming system 800 used in accordance with anembodiment of the present invention. Gaming system 800 includes a gamingmachine 17. The gaming machine 17 includes a local storage 219 includingone or more ML files 213. In an embodiment, the system 800 may include agaming workstation or other gaming system instead of or in addition togaming machine 17. Each ML file 213 includes a markup language such ashypertext markup language (HTML), extensible markup language (XML) orother markup language. ML file 213 includes markup tags 215.

Markup tags 215 surround text, graphics and other instructions in MLfile 213. Tags 215 instruct viewer 217 regarding formatting of contentsof file 213 for display. For example, tags 215 may determine font, size,positioning, and other effects of display information, such as textand/or graphics. Tags 215 may include tokens to be resolved for display.Viewer 217 uses the markup tags 215 in the requested file 213 to formatthe text to be displayed. Viewer 217 displays the appropriate text of MLfile 213 at a display 53.

In a markup language document, for example, HTML code or HTML tags 215define how elements in the document are displayed. XML code or tags 215define what the elements contain. HTML uses predefined tags 215. XMLallows tags to be defined by the developer of the web page. Thus, XML isan open standard for describing data. XML may enable an ML document tofunction like database records. XML uses a similar tag structure toHTML.

The system 800 may also include a workstation or other system used tomake changes to a particular ML file 213. A keyboard or other data entrydevice, such as a touch screen or mouse device, is used to interact withan edit program. ML file 213 is then modified using edit program.

In an embodiment, the ML viewer 217 may access ML documents that arestored on a network or other external storage. In an embodiment, the MLviewer 217 does not alter a local copy of an ML file 213 in localstorage but rather temporarily stores a copy of the ML document in RAMor other temporary storage for display. The ML document may also bestored in persistent storage. Alternatively, local persistent storage,such as a hard disk drive, CD, CD-ROM, DVD-ROM, flash disk, compactflash, etc., may be used to store a copy of an ML document.

One ML file 213 may link to another local file or the current MLdocument. The ML viewer 217 may follow a link in a first ML document toaccess a second ML document. In an embodiment, the ML viewer 217 firstaccesses a predetermined document (for example, “index.html” or“default.html”). The predetermined or default file is displayed to auser or player by viewer 217 via display 53. Alternatively, in anembodiment, the viewer 217 may request the name or reference of thefirst ML document from an external process. Alternatively, a defaultfile may be associated with a particular user and/or game being playedon gaming machine 17. The default file may include one or more links toadditional files. One or more links may be accessed by the ML viewer 217depending upon user, game, or other setting for gaming machine 17. Thus,by accessing an initial ML file 213, a viewer 217 may update a gamingmachine display 53 by following links and resolving tokens 215.

In one embodiment, the ML viewer 217 automatically cycles throughseveral pages within one ML document or within different ML documents.In another embodiment, a user may select one or more pages 213 todisplay via viewer 217 on display 53. The user may select one or morelinks to pages 213 using the keyboard 221, a touch screen, a mouse“click”, or other selection method. The user selects a button, link, orother indication on display 53 and instructs viewer 217 to “follow” thelink to go to another section within the ML document or to anotherdocument. Typically, viewer 217 first displays a default ML file inlocal storage. Traversing from one document to another document vialinks or addresses automatically or by touch or click is referred to as“navigating.”

The ML files 213 may be written in XML, HTML, XSL (extensible stylesheetlanguage), XSLT (XSL transformation technology), WML (wireless markuplanguage), binary XML, or WBXML (wireless binary XML), for example. TheML files 213 may also be edited locally and/or remotely. In anembodiment, a user is authenticated before an ML document may bemodified.

The ML viewer 217 parses an ML file 213 to determine content andformatting instructions. The ML viewer 217 identifies tokens in the tags215 or other areas of the ML file 213. Tokens indicate variables orvalues to be provided or “filled in” by other sources. Tokens may bedenoted in an ML document using standard ML delimiters and/or customtext markers. For example, square brackets “[ ]” or tildas “—” may beused to indicate a token. Indicia of a token trigger the ML viewer 217to resolve a value of the token.

The ML viewer 217 retrieves current or appropriate values for the tokensin the ML document. For example, token values may change with time orgame condition. Alternatively, for example, token values may changebased on a game being played or a user, such as a particular gamingestablishment, configuring the gaming machine. The ML viewer 217 mayaccess data storage directly or may utilize one or more other processes,such as a dynamic link library (DLL), to access data storage. Thus, thedisplay 53 of a gaming machine 17 may be dynamically configured based onuser, game, and/or other condition.

Information retrieved from a local data storage or information enteredby a user may replace one or more tokens in a temporary copy of thepersistent ML document located at the gaming machine 17 (i.e.,“resolving the token”). In an embodiment, however, the ML document isnot modified. The ML document may be stored in non-volatile storage, forexample. Information in a local or remote data storage may bedynamically altered by other processes running on SCI 101 or othersystem component. For example, player identification information, playername, and player points may be stored in the local data storage.

Alternatively, default token values may be provided in the ML document.Additionally, a plurality of token values may be located in the MLdocument and selected by the user or ML viewer.

For example, an ML document includes a player name token indicating thename of the current player. The ML viewer accesses a local data storagevia SCI 101 and determines that the current player is “John Doe.” The MLdocument also includes a point token indicating a number of points forthe current player. The ML viewer accesses the local data storage andretrieves the point total for the player (e.g., “John Doe has 1234points.”). Viewer 217 displays page 213 including the ML document withappropriate tokens completed with values from data storage.

Thus, an ML document is a text document including markers for specifyingportions of text that have different meanings for different consumers ordifferent situations. The extensible nature of a markup language allowsone user to add markers that are ignored by another consumer. Textcontained within markers specify the content of the gaming machine'sdisplay. Different text and/or graphics may be configured and displayedfor different consumers. Screen elements may be structured based oninformation denoted within certain markers.

FIG. 9 illustrates a flow diagram for a method 900 for configuring adisplay in a gaming machine used in accordance with an embodiment of thepresent invention. First, at step 910, an operator selects a ML file fordisplay at a gaming machine or other gaming system. The operator mayselect a game for playing on the gaming machine and a corresponding MLfile to generate a display for the selected game (a default file, forexample). Additionally, one of a variety of displays may be selected fora given game to customize the display and the game for a particularplayer, location, bonus, etc.

Then, at step 920, an ML viewer processes the ML file to determine thecontent of the ML document. For example, the ML file includes textand/or links to images and/or additional ML or text files. The ML filealso includes tags or other markup language code which serves asinstructions for the viewer to process, format, and display the ML file.

At step 930, text in the ML file is identified for display. For example,text may be present in the ML file for display at display 53.Additionally, links or addresses indicating text and/or graphics inanother ML file may be present in the ML file. Text and/or graphicsand/or links to text and/or graphics may be identified by markuplanguage tags.

Next, at step 940, tokens in the ML file are identified. The tokenssignify variable values to be filled in or resolved by the ML viewer.Tokens allow a display to vary depending upon gaming machine location,current player, current game, variable prize, etc. Tokens allow the MLfile to be adjusted dynamically without altering the ML file itself.

Then, at step 950, the tokens identified in the ML file are resolved.For example, the ML viewer accesses a data storage to locate the tokensfound in the ML file. The ML viewer then replaces the tokens found inthe ML file with the relevant values for the particular player,location, and/or game, for example, in a copy of the ML file. Tokens maybe resolved dynamically by the gaming machine to adjust the contents ofthe ML file and display of the ML file without changing the ML file. Forexample, the ML viewer replaces the tokens in RAM with current tokenvalues so as to display the ML file with current token values.

Next, at step 960, text and/or graphics from the ML file are formattedfor display on the gaming machine display. Based on tags or otherinstructions found in the ML file, the text and/or graphics, withresolved token information, is formatted for display. At step 970, theformatted text and/or graphics are displayed at the gaming machine.Options shown on the gaming machine display may be used by a player toplay a game at the gaming machine. Options or features on the displaythat are activated by touch, click, button press, handle pull, orselection method may trigger actions at the gaming machine. That is,options or features displayed at the gaming machine may facilitategaming machine operation and playability. Alternatively, options on thedisplay may allow an operator to configure the gaming machine or edit anML document or database entry.

Then, at step 980, the display may be changed based on a new game (e.g.,three reels versus five reels), a new player, a new location, and/or anew gaming mode (e.g., progressive mode, special bonus, etc.). Forexample, a bonus or variable prize may be introduced and thus modify thedisplay. Additionally, for example, a three reel slot game may bechanged to a five reel slot game. A game running on the gaming machinemay be changed from a quarter slot game to a nickel slot game, forexample.

Dynamic token resolution provides improved flexibility in gaming systemdisplay and operation. Local look-up of ML file and token informationincreases speed, as well as reliability. A local data store at a gamingmachine or interface may function in conjunction with a server orexternal data storage to provide information redundancy. A gamingmachine may operate on a local copy of an ML file that is periodicallyrefreshed and/or synchronized with a remote copy. Rather than incurringa delay and relying on information transmitted from a server, local datastorage in a gaming system provides more immediate access to data. Aviewer process running on a gaming machine may reference local storagerather than continually reaching outside the machine for data from anexternal system. A ML file may be resolved with local information ratherthan rebuilding the file for display each time at an external server.Local storage may be persistent or volatile (e.g., holds a temporarycopy of an ML file and/or token data and reloads in the event of a lossof power). One or more ML files may reside in local storage, and theviewer may switch among the stored documents. Additionally, maintainingcommunications inside the gaming system improves system security anddata integration. In an embodiment, token update is a one-way activitythat retrieves and displays values but does not change the originalvalue stored in data storage.

A ML file with tokens may be used to customize a gaming display tovariety of options (e.g., user, game, etc.). The gaming industry is ahighly regulated environment, and regulators often do not allow thirdparty developers to modify data unless the third party is properlylicensed. Often, companies may not obtain a license. Markup languageallows a third party to separate data on a page from an application.Thus, data may remain untouched and used in a modifiable display. Astatic ML file with “blanks”, such as tokens or other indicia, mayreceive gaming regulatory approval because the core document remainsunchanged despite token resolution. A display may be completelycustomized without resubmitting the ML file to regulators forre-approval because the underlying data has not changed. Thus, a playermay perceive a change in game on a gaming machine due to a change intoken resolution while the underlying ML code remains the same.Additionally, a language being displayed may be customized to aparticular player through appropriate token resolution.

Extensible Markup Language Files

In an embodiment, a markup language is a language that may be extensible(e.g., HTML, XML, XSLT, WML, BXML, WBXML, ASP, etc.). Modules may bedelineated using a markup language, and existing modules may bemodified. Modules may be placed around other modules or in otherrelationships with respect to other modules. Thus, a hierarchicalstructure may be constructing using a markup language.

Resource Interchange File Format (RIFF) files, such as Tagged Image FileFormat (TIFF), Audio Image File Format (AIFF), Motion Picture ExpertsGroup (MPEG), Windows Audio Volume (WAV), Audio Video Interleaved (AVI),Musical Instrument Digital Interface (MIDI), or other file, are binarymarkup language files. Elements in an exemplary binary ML file includesa tag field indicating what the data is, a length field indicating howlong the data is, and a data field including data. Binary ML files mayalso include pointers before the data field instructing a processingprogram to go to a certain location for the data. Additional tag(s),length(s), and data may be nested within a data field.

While the tag and length fields are binary, the data field may or maynot be binary. Thus, text-based and/or binary data may be inserted in abinary ML file. Tokens may be inserted in the data, and may be resolvedfrom the data field. Information may be added to music (e.g., WAV, MPEG,etc.), movies (e.g., MPEG, QuickTime, etc.), and/or images (e.g., TIFF,etc.). For example, text streams, buttons, position information,identification information, etc., may all be encoded in a binary MLfile. A ML viewer reads the inserted information, but an audio/videosystem simply skips over the unknown data. Such insertion and accessallows newer systems to take advantage of additional features and data,while older systems simply ignore the extra content. Thus, a flexible,adaptive, and backwards-compatible system is provided.

External Control of ML Processing

In addition, the markup language viewer may be externally influenced fornavigation, refreshing and linking purposes in a gaming or ancillarygaming application. By using communications, such as inter-process,intra-process, inter-device, flags, semaphores, and/or other indicators,a ML viewer may be influenced to navigate to a location within thecurrent ML document or to any of a number of other ML documents.Messages to the ML viewer originate from one or more external managementprocesses, program inputs and/or user inputs.

In an embodiment, an external process, such as a hosting process, beingaware of many conditions within a device, influences the displaying ofthe contents of a markup language document. The ML viewer may navigateto and display the ML document immediately regardless of current orprior activity. A ML document viewer may perform a look-up process toresolve a destination “screen code” to a literal ML document file name.In another embodiment, a control program may send a message instructinga viewer, browser, or other program to access a certain web page.

The control program may react under particular conditions, such as ajackpot, a tilt, or other event at a gaming machine or other location.The control program may also react to a stimulus, such as insertion of aplayer or employee card, at a gaming system to generate a command forthe viewer to execute a certain action or series of actions immediate.For example, if a player card is inserted, an external server loadsplayer and/or tracking data and transmits an ML file to the viewer forimmediate execution. The viewer receives the information from theexternal server, retrieves the ML file from storage, and processes theML file.

In an embodiment, an initial ML document may be loaded at a gamingsystem. The initial document includes directions regarding where toadvance next to display new pages on a display (e.g., FIG. 4). Processflow may proceed as dictated by the initial ML document or programsequence until an external process intervenes. An asynchronous interruptby an external process redirects gaming system operation.

In another embodiment, a “hot spot” button or other indicator may beadded to a gaming system display. Selecting the button triggers certainspecial functions. The button or indicator may be visible or may behidden (for example, an Aristocrat logo may be a hot spot button).

Additionally, as shown in FIG. 4, an ML file may associateidentification (ID) numbers with items for display. When an item isselected by a user (e.g., using a touchscreen, keyboard, or mousingdevice), the ID number is relayed by a viewer program to a controlprogram. The control program returns an ML file to the viewer program ortransmits an instruction to access a certain ML file. The instructionmay also be present in the current ML file. For example, FIG. 4 showsthat form a form ID of 1, the next form link is 3. Pin numbers or otherinformation typed at a touch pad, for example, may be verified throughan association of display items with ID numbers.

In addition, a markup language viewer may be used for reportinginteractivity to applications or processes external to the ML viewer ina gaming or ancillary gaming application. Through the use ofinter-process communications, a markup language viewer reports activityto one or more external processes. Typically, activity consists of anyclicks, touches, or page changes. An external hosting process may useactivity information to alter its behavior. Attributes in a markuplanguage document provide codes which may be sent to one or moreexternal or hosting processes when user activity at the viewer activatesassociated visual elements.

Thus, certain embodiments of the present invention provide a system andmethod for using markup language in gaming applications. Certainembodiments allow an ML file to be run, viewed, and/or parsed toconfigure or modify one or more gaming machines. Certain embodimentsallow interaction with a user through ML (e.g., between a game, acentral system, a user, and/or a database, etc.). Certain embodimentsidentify communications or interaction between an ML viewer and a gamingapplication. Certain embodiments utilize tokens to customize a pagedynamically without altering code for a web page. Improved communicationwithin a gaming system and reduced communication with external systemsimproves security, performance, and reliability/redundancy of gamingsystems and applications.

While the invention has been described with reference to certainembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted withoutdeparting from the scope of the invention. In addition, manymodifications may be made to adapt a particular situation or material tothe teachings of the invention without departing from its scope.Therefore, it is intended that the invention not be limited to theparticular embodiment disclosed, but that the invention will include allembodiments falling within the scope of the appended claims.

1. A configurable gaming system, said system comprising: at least onedata store for storing a markup language file selected from the groupconsisting of 1) a mark-up language file and 2) a mark-up language fileincluding token resolution information for use in a gaming application;a processor and game program instructions (that have been approved by aregulatory authority); and a markup language viewer for processing saidmarkup language file, said markup language viewer resolves tokens insaid markup language file including token resolution information usingsaid token resolution information from said local storage withoutmodifying the game program instructions to generate a resolved markuplanguage file for display at a gaming system, said markup language filegenerates a display for the gaming application and customizes thedisplay and the gaming application, and said markup language viewer forsaid mark-up language files including token resolution informationdynamically adjusts the display and execution of the gaming applicationbased on token values updated based on a change in at least one of auser, a game, and a game condition.
 2. The system of claim 1, whereinsaid markup language files include files which display content, markuplanguage tags, and tokens.
 3. The system of claim 1, wherein said markuplanguage file is updated from an external storage.
 4. system of claim 1,further comprising an external event controlling selection of a markuplanguage file for processing by said markup language viewer.
 5. Thesystem of claim 1, wherein said markup language file comprises a binarymarkup language file including tokens or other indicia for resolution.6. The system of claim 1, wherein said markup language file associatesitems for display with identifiers, wherein said identifiers correspondto instructions for said markup language viewer.
 7. A method for dynamicconfiguration of a gaming display, said method comprising: processing amarkup language file for use in a gaming application to identify tokensto be resolved to customize the gaming application, said markup languagefile including 1) read only, regulatory approved game data to facilitateplay of the gaming application and 2) one or more tokens relating to atleast one of game theme, game display and player identity; resolvingsaid tokens to generate a resolved markup language file withoutmodifying the read only, regulatory approved game data; formatting saidresolved markup language file for display; displaying said resolvedmarkup language file at a gaming system, wherein said resolved markuplanguage file generates a display for the gaming application andcustomizes the display and the gaming application; and dynamicallyadjusting the display and execution of the gaming application based ontoken values updated based on a change in at least one of a user, agame, and a game condition.
 8. The method of claim 7, further comprisingretrieving said markup language file from a local storage.
 9. The methodof claim 8, wherein said resolving step further comprises resolvingtokens in said markup language file using data from said local storage.10. The method of claim 7, wherein said resolving step further comprisesresolving tokens in said markup language file based on at least one of aplayer, an operator, a game, and a location.
 11. The method of claim 7,wherein said displaying step further comprises displaying said resolvedmarkup language file at said gaming system using a viewer.
 12. Themethod of claim 7, wherein said step of dynamically adjusting furthercomprises adjusting token values in said resolved markup language filebased on a change in at least one of game, prize, location, player, andoperator.
 13. The method of claim 7, wherein an external process affectsselection of said markup language file for processing and display.
 14. Adynamically configurable gaming system, said system comprising: a gamingmachine retrieving a markup language document for use in a gamingapplication at the gaming machine, said markup language documentincluding static, regulatory approved game execution information andtokens representing dynamic game customization information, wherein saidgaming machine automatically resolves tokens in said markup languagedocument and formats said markup language document for display tocustomize display and execution of a gaming application, wherein thestatic, regulatory approved game execution information facilitates playof the gaming application and is not modified by the resolution of thetokens; and a local storage device providing a copy of said markuplanguage document to said gaming machine, said local storage deviceproviding said gaming machine with information to resolve tokens in saidmarkup language document for display, said information updateable basedon input information provided to said gaming machine, wherein saidgaming machine dynamically updates resolution of said tokens in saidmarkup language document and reformats said markup language document fordisplay and execution of the gaming application based on a change in atleast one of a time, a game condition, a game type, and a user.
 15. Thesystem of claim 14, further comprising a server providing informationrelating to said markup language to said gaming machine.
 16. The systemof claim 14, wherein said gaming machine further comprises a markuplanguage viewer for resolving said tokens in said markup languagedocument and formatting said markup language document for display. 17.The system of claim 14, wherein said markup language document isadjusted based on a change in at least one of game, prize, location,player, and operator.
 18. The system of claim 14, wherein said markuplanguage document comprises a binary markup language document.
 19. Thesystem of claim 14, further comprising an external control controllingselection of a markup language file for processing by said gamingmachine. 20-25. (canceled)